package com.aaa.tars.service;

import com.aaa.tars.entity.Visitors;
import com.aaa.tars.util.Page;
import com.aaa.tars.util.Result;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

/**
 * @FileName: VisitorsService
 * @Description: 游客服务接口
 * @CreateTime: 2025/9/12 16:52
 * @Version: 17
 */
public interface VisitorsService {
    //游客注册
    boolean register(Visitors visitors,String verificationCode);
    //游客登录(根据注册时候的手机号以及密码登录)
    Visitors login(String phoneNumber,String password);
    //根据手机号查找游客
    Visitors findByPhoneNumber(String phoneNumber);
    //更新游客信息
    int updata(Visitors visitors);




    /**
     * 通过ID查询游客
     * @param visitorId 游客ID
     * @return 游客实体
     */
    Visitors queryById(Integer visitorId);

    /**
     * 分页查询游客信息
     * @param page 分页对象
     * @return 分页结果
     */
    PageInfo queryByPage(Page<Visitors> page);

    /**
     * 新增游客信息
     * @param visitors 游客实体
     * @return 影响行数
     */
    int add(Visitors visitors);

    /**
     * 更新游客信息
     * @param visitors 游客实体
     * @return 影响行数
     */
    int update(Visitors visitors);

    /**
     * 根据ID删除游客信息
     * @param visitorId 游客ID
     * @return 影响行数
     */
    int deleteById(Integer visitorId);

    /**
     * 上传头像
     * @param file 上传的文件
     * @param visitorId 游客ID
     * @return 上传结果
     */
    Result uploadAvatar(MultipartFile file, Integer visitorId);

    boolean resetPassword(String phoneNumber, String newPassword);
}